package com.docmgmt.mvp.ragflow.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * RAGFlow Embedding 模型响应 VO
 * 
 * GET /api/v1/ragflow/embedding-models
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EmbeddingModelVO {

    /**
     * 模型名称（如：bce-embedding-base_v1）
     */
    @JsonProperty("model_name")
    private String modelName;

    /**
     * 提供商（如：SILICONFLOW、OpenAI、Ollama）
     */
    private String provider;

    /**
     * 完整名称（格式：model_name@provider）
     * 例如：netease-youdao/bce-embedding-base_v1@SILICONFLOW
     */
    @JsonProperty("full_name")
    private String fullName;

    /**
     * 向量维度（如：768、1536）
     */
    private Integer dimension;

    /**
     * 最大token数
     */
    @JsonProperty("max_tokens")
    private Integer maxTokens;

    /**
     * 是否可用（已配置API Key）
     */
    private Boolean available;

    /**
     * 标签（如：Embedding、Text Embedding）
     */
    private String tags;

    /**
     * 模型类型（固定为 embedding）
     */
    @JsonProperty("model_type")
    private String modelType;
}

